<template>
	<ucs-svg :width="size" :height="size" :src="iconSvg" />
</template>
<script setup lang="uts">
	/**
	 * @description 《光晕》图标
	 * @tutorial https://ucs.cloudsimpler.com/library/ucs-iconPark
	 * @property {Number} size 图标大小
	 * @property {Number} strokeWidth 线段粗细
	 * @property {String} theme 图标大小
	 * @property {Array<string>} fill 图标颜色，["外部描边颜色","外部填充颜色","内部描边颜色","内部填充颜色"]
	 * @property {String} strokeLinecap 图标大小
	 * @property {String} strokeLinejoin 图标大小
	 */
	import { colors, IiconParkProps } from "../../mixins/iconParkMixin.uts";
	import { computed } from "vue";
	
	const props = withDefaults(defineProps<IiconParkProps>(), {
		size: 24,
		strokeWidth: 4,
		theme: 'outline',
		fill: ["#000000"],
		strokeLinecap: 'round',
		strokeLinejoin: 'round'
	});

	const iconSvg = computed(() : string => {
		return `<?xml version="1.0" encoding="UTF-8"?><svg width="${props.size}" height="${props.size}" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 28C26.2091 28 28 26.2091 28 24C28 21.7909 26.2091 20 24 20C21.7909 20 20 21.7909 20 24C20 26.2091 21.7909 28 24 28Z" fill="${colors(props.theme, props.fill, 1)}" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M17.3644 14C16.6922 14.4469 16.0676 14.9598 15.5 15.5295C14.9041 16.1274 14.3709 16.7878 13.9111 17.5" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M12.1975 26.1802C12.0678 25.4732 12 24.7447 12 24.0002C12 23.2558 12.0678 22.5272 12.1975 21.8203" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M17.3644 34C16.6922 33.5531 16.0676 33.0402 15.5 32.4705C14.9041 31.8726 14.3709 31.2122 13.9111 30.5" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M26.3598 35.7681C25.5968 35.9202 24.8077 36 24 36C23.1922 36 22.4031 35.9202 21.6401 35.7681" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M30.6357 34C31.3079 33.5531 31.9325 33.0402 32.5002 32.4705C33.096 31.8726 33.6292 31.2122 34.089 30.5" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M35.8027 26.1802C35.9325 25.4732 36.0003 24.7447 36.0003 24.0002C36.0003 23.2558 35.9325 22.5272 35.8027 21.8203" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M30.6357 14C31.3079 14.4469 31.9325 14.9598 32.5002 15.5295C33.096 16.1274 33.6292 16.7878 34.089 17.5" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M21.6401 12.232C22.4031 12.0798 23.1922 12 23.9999 12C24.8077 12 25.5968 12.0798 26.3598 12.232" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/><path d="M44 24C44 23.325 43.9666 22.6578 43.9012 22C43.834 21.3228 43.733 20.6556 43.5999 20M4 24C4 23.325 4.03344 22.6578 4.09875 22C4.16598 21.3228 4.26699 20.6556 4.40007 20M38.646 37.6198C38.1967 38.1027 37.7238 38.5634 37.2291 39C36.7864 39.3908 36.3262 39.7623 35.8498 40.1132M9.35403 37.6198C9.80332 38.1027 10.2762 38.5634 10.7709 39C11.2136 39.3908 11.6739 39.7623 12.1502 40.1132M15.7124 5.79255C15.0569 6.09142 14.4203 6.42465 13.805 6.78994C13.2345 7.12862 12.6823 7.49486 12.1502 7.88683M32.2876 5.79255C32.9431 6.09142 33.5797 6.42465 34.195 6.78994C34.7655 7.12862 35.3177 7.49486 35.8498 7.88683M26.2465 4.12477C25.5091 4.04233 24.7595 4 24 4C23.2405 4 22.4909 4.04233 21.7535 4.12477M26.2465 43.8752C26.999 43.7911 27.7389 43.6653 28.4638 43.5C29.1569 43.342 29.8364 43.148 30.5 42.92M21.7535 43.8752C21.001 43.7911 20.2611 43.6653 19.5362 43.5C18.8431 43.342 18.1636 43.148 17.5 42.92M8.15495 11.7945C7.77626 12.2854 7.41988 12.7944 7.08732 13.3199C6.78763 13.7935 6.50729 14.2805 6.2474 14.7799M39.8451 11.7945C40.2237 12.2854 40.5801 12.7944 40.9127 13.3199C41.2124 13.7935 41.4927 14.2805 41.7526 14.7799M6.2474 33.2201C5.95677 32.6617 5.69172 32.0878 5.45379 31.5C5.2355 30.9607 5.04005 30.4098 4.86863 29.8483M41.7526 33.2201C42.0432 32.6617 42.3083 32.0878 42.5462 31.5C42.7645 30.9607 42.96 30.4098 43.1314 29.8483" stroke="${colors(props.theme, props.fill, 0)}" stroke-width="${props.strokeWidth}" stroke-linecap="${props.strokeLinecap}" stroke-linejoin="${props.strokeLinejoin}"/></svg>`
	});
</script>